什么是shell
在计算机科学中,Shell俗称壳,用来区别于Kernel(核),是指“提供使用者使用界面”的软件(命令解析器)。 它类似于DOS下的command和后来的cmd.exe。它接收用户命令,然后调用相应的应用程序。
图形界面shell
图形界面shell:通过提供友好的可视化界面,调用相应应用程序; 比如windows系列操作系统,Linux系统上的图形化应用程序GNOME、KDE等。
命令行shell
通过键盘输入特定命令的方式,调用相应的应用程序; 如windows系统的cmd.exe、Windows PowerShell, Linux系统的Bourne shell (sh)、Bourne Again shell (bash)等。
bash
bash是shell的一种,Linux系统中各个shell的功能都差不多, 目前大多数版本的Linux都默认使用bash 。
bash命令格式:
命令 [-options || –options][参数],如:tar -zxvf dome.tar.gz
选项备注:
-后面跟着的是单词的简写形式;–后面跟着的是单词的全面。
自动补全功能:
按tab键会自动尝试补全命令,连按两次会将所有匹配的内容显式出来。
常见命令:
pwd(Print Working Directory) 查看当前目录
cd(Change Directory) 切换目录,如 cd/etc
cd 进入目录可以不用加 ./
$ cd .. 回到上一级ls(List) 查看当前目录下内容,如 ls -al
-a 可以显示隐藏文件
-l 显示文件的详细信息
ls 在 dos 下为 dir
//不用跳转到对应的目录也可以查看
$ ls dirnamemkdir(Make Directory) 创建目录
//批量创建目录
$ mkdir 目录1 目录2 目录3touch 创建文件
cat(Concatenate and print files) 在监控器上查看文件全部内容
less 按页查看文件
rm(Remove) 删除文件或文件夹,如 rm index.html、rm -rf dir
彻底删除,不会进回收站
加上 -r 后可以删除目录mv(Move) 移动文件或重命名,如 mv index.html ./dome/index.html
新文件名可选,mv 文件名 目录/新文件名
cp(Copy) 复制文件,如 mv index.html ./dome/index.html
$ cp 文件名 目录名
默认不能复制目录,需要的话要加上-r>和>>重定向,如 echo hellow world! > index.text,> 覆盖,>> 追加。
echo ‘’ >> a.txt
文件不存在时会自动创建clear 清除
vi 编辑器
如同Windows下的记事本,vi编辑器是Linux下的标配,通过它我们可以创建、编辑文件。 它是一个随系统一起安装的文本编辑软件。
三种模式
vi 辑器提供了3种模式,分别是命令模式、输入模式、末行模式, 每种模式下用户所能进行的操作是不一样的。
命令模式 ==> 执行命令
默认模式,在该模式中,可以输入命令来执行许多功能。在其它两种模式下可通过esc切换至该模式。
输入模式 ==> 输入文本
在该模式中,可以进行文本输入与编辑。在命令模式中输入i、a、o切换至该模式。
末行模式 ==> 执行待定命令
该模式类似命令模式,有些特殊命令需要在该模式下运行,比如文件的保存与退出。可视化命令(就是指令可以看到,比如wq保存退出,代替了命令行模式时不可见的ZZ)。在命令模式中输入冒号切换至该模式。
三种模式切换示意图
vi三模式切换
通过上图可以发现,输入模式是不能直接切换到末行模式的,必须要先切回到命令模式(按ESC键)。
常见命令
命令模式:
- ZZ:保存并退出
- u:撤销操作,可多次使用
- x:删除
- dd:删除当前行
- yy:复制当前行
- p:粘贴内容
- ctrl+f:向前翻页
- ctrl+b:向后翻页
- i:进入编辑模式,当前光标处插入
- I:进入编辑模式,光标移动到行首
- a:进入编辑模式,当前光标后插入
- A:进入编辑模式,光标移动到行尾
- o:进入编辑模式,当前行下面插入新行
- O:进入编辑模式,当前行上面插入新行
- .:重复执行命令
末行模式:
- w [filename]:保存或另存为
- q:退出
- wq:保存并退出
- e!:撤销更改,返回到上一次保存的状态
- q!:不保存强制退出
- set nu:设置行号